
/*
 * Copyright 2017 ObjectBox Ltd. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package io.objectbox.test.proguard;

import io.objectbox.test.proguard.ObfuscatedEntityCursor.Factory;

import io.objectbox.EntityInfo;
import io.objectbox.Property;
import io.objectbox.annotation.apihint.Internal;
import io.objectbox.internal.CursorFactory;
import io.objectbox.internal.IdGetter;


// THIS CODE IS GENERATED BY ObjectBox, DO NOT EDIT.

/**
 * Properties for entity "ObfuscatedEntity". Can be used for QueryBuilder and for referencing DB names.
 */
public final class ObfuscatedEntity_ implements EntityInfo<ObfuscatedEntity> {

    // Leading underscores for static constants to avoid naming conflicts with property names

    public static final String __ENTITY_NAME = "ObfuscatedEntity";

    public static final int __ENTITY_ID = 1;

    public static final Class<ObfuscatedEntity> __ENTITY_CLASS = ObfuscatedEntity.class;

    public static final String __DB_NAME = "ObfuscatedEntity";

    public static final CursorFactory<ObfuscatedEntity> __CURSOR_FACTORY = new Factory();

    @Internal
    static final ObfuscatedEntityIdGetter __ID_GETTER = new ObfuscatedEntityIdGetter();

    public final static ObfuscatedEntity_ __INSTANCE = new ObfuscatedEntity_();

    public final static Property<ObfuscatedEntity> id = new Property<>(__INSTANCE, 0, 1, long.class, "id", true, "id");
    public final static Property<ObfuscatedEntity> myInt = new Property<>(__INSTANCE, 1, 2, int.class, "myInt");
    public final static Property<ObfuscatedEntity> myString = new Property<>(__INSTANCE, 2, 3, String.class, "myString");

    @SuppressWarnings("unchecked")
    public final static Property<ObfuscatedEntity>[] __ALL_PROPERTIES = new Property[]{
        id,
        myInt,
        myString
    };

    public final static Property<ObfuscatedEntity> __ID_PROPERTY = id;

    @Override
    public String getEntityName() {
        return __ENTITY_NAME;
    }

    @Override
    public int getEntityId() {
        return __ENTITY_ID;
    }

    @Override
    public Class<ObfuscatedEntity> getEntityClass() {
        return __ENTITY_CLASS;
    }

    @Override
    public String getDbName() {
        return __DB_NAME;
    }

    @Override
    public Property<ObfuscatedEntity>[] getAllProperties() {
        return __ALL_PROPERTIES;
    }

    @Override
    public Property<ObfuscatedEntity> getIdProperty() {
        return __ID_PROPERTY;
    }

    @Override
    public IdGetter<ObfuscatedEntity> getIdGetter() {
        return __ID_GETTER;
    }

    @Override
    public CursorFactory<ObfuscatedEntity> getCursorFactory() {
        return __CURSOR_FACTORY;
    }

    @Internal
    static final class ObfuscatedEntityIdGetter implements IdGetter<ObfuscatedEntity> {
        public long getId(ObfuscatedEntity object) {
            return object.getId();
        }
    }

}
